#!/usr/bin/env python
 
from time import sleep
import os
import httplib, urllib
import RPi.GPIO as GPIO
 
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN)
GPIO.setup(24, GPIO.IN)
GPIO.setup(25, GPIO.IN)
GPIO.setup(12, GPIO.IN)
 
def PushOver(title,message,url):
   app_key = "AppKeyHere"
   user_key = "UserKeyHere"
   #Connect with the Pushover API server
   conn = httplib.HTTPSConnection("api.pushover.net:443")
 
   #Send a POST request in urlencoded json
   conn.request("POST", "/1/messages.json",
   urllib.urlencode({
   "token": app_key,
   "user": user_key,
   "title": title,
   "message": message,
   "url": url,
   }), { "Content-type": "application/x-www-form-urlencoded" })
 
   #Any error messages or other responses?
   conn.getresponse()
 
#App-specific variables
 
PushOver('Alarm','Started','')
print 'Alarm Server Started\r'
 
while True:
 
   if (GPIO.input(23) == False):
      print 'Fire Button!\r'
      #os.system('mpg321 /home/pi/doorbell-1.mp3')
      PushOver('Fire','Hurry Nidhi, Fire alarm!','')
   sleep(0.2);
   
   if (GPIO.input(24) == False):
      print 'PIR Button!\r'
      #os.system('mpg321 /home/pi/doorbell-1.mp3')
      PushOver('Movement','Hurry Nidhi, Intruder alarm!','')
   sleep(0.2);
   
   if (GPIO.input(25) == False):
      print 'Door Button!\r'
      #os.system('mpg321 /home/pi/doorbell-1.mp3')
      PushOver('Door open','Hurry Nidhi, Door break!','')
   sleep(0.2);
   
   if (GPIO.input(12) == False):
      print 'Door Ring!\r'
      #os.system('mpg321 /home/pi/doorbell-1.mp3')
      PushOver('Door Ring','Hurry Nidhi, someone ringing!','')
   sleep(0.2);
   